import java.io.File;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Set;
import org.apache.commons.collections.buffer.CircularFifoBuffer;
import org.apache.commons.collections.comparators.FixedOrderComparator;
import org.apache.commons.collections.list.CursorableLinkedList;
import org.apache.commons.collections.map.LRUMap;
import org.apache.commons.collections.map.MultiValueMap;
import org.apache.commons.collections.set.ListOrderedSet;
import junit.framework.TestCase;
import sketch.instrumenter.Tracer;
import sketch.ounit.Observer;
import sketch.ounit.Values;
import sketch.specs.annotation.TestSketch;
import sketch.ounit.OUnit;
import junit.framework.TestCase;
public class MainExpansionTest extends TestCase {
	
	public void setUp() {
		Tracer.saveFile = new File("./instrument/traceFile.txt");
	}
	
  @sketch.ounit.OUnit public void testrewriteSize0(){
    sketch.instrumenter.Tracer.startMethod("testrewriteSize0");
    MultiValueMap map=new MultiValueMap();
    map.put("A","AA");
    sketch.instrumenter.Tracer.recordObservation(24,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    map.remove("A");
    map.put("B","BB");
    sketch.instrumenter.Tracer.recordObservation(27,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    map.remove("B");
    map.put("C","CC");
    sketch.instrumenter.Tracer.recordObservation(30,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    map.remove("C");
    map.put("D","D");
    sketch.instrumenter.Tracer.recordObservation(33,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    map.remove("D");
    sketch.instrumenter.Tracer.endMethod("testrewriteSize0");
  }
  @sketch.ounit.OUnit public void testrewriteSize1(){
    sketch.instrumenter.Tracer.startMethod("testrewriteSize1");
    MultiValueMap map=new MultiValueMap();
    map.put("A","AA");
    sketch.instrumenter.Tracer.recordObservation(41,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    map.put("B","BB");
    sketch.instrumenter.Tracer.recordObservation(43,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    map.put("C","CC");
    sketch.instrumenter.Tracer.recordObservation(45,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    map.put("D","D");
    sketch.instrumenter.Tracer.recordObservation(47,"map.totalSize()");
    Observer.observeExpr(map.totalSize());
    sketch.instrumenter.Tracer.endMethod("testrewriteSize1");
  }
  @sketch.ounit.OUnit public void testrewriteSize2(){
    sketch.instrumenter.Tracer.startMethod("testrewriteSize2");
    MultiValueMap map=new MultiValueMap();
    map.put("A","AA");
    sketch.instrumenter.Tracer.recordObservation(54,"map.size()");
    Observer.observeExpr(map.size());
    map.remove("A");
    map.put("B","BB");
    sketch.instrumenter.Tracer.recordObservation(57,"map.size()");
    Observer.observeExpr(map.size());
    map.remove("B");
    map.put("C","CC");
    sketch.instrumenter.Tracer.recordObservation(60,"map.size()");
    Observer.observeExpr(map.size());
    map.remove("C");
    map.put("D","D");
    sketch.instrumenter.Tracer.recordObservation(63,"map.size()");
    Observer.observeExpr(map.size());
    map.remove("D");
    sketch.instrumenter.Tracer.endMethod("testrewriteSize2");
  }
  @sketch.ounit.OUnit public void testrewriteSize3(){
    sketch.instrumenter.Tracer.startMethod("testrewriteSize3");
    MultiValueMap map=new MultiValueMap();
    map.put("A","AA");
    sketch.instrumenter.Tracer.recordObservation(71,"map.size()");
    Observer.observeExpr(map.size());
    map.put("B","BB");
    sketch.instrumenter.Tracer.recordObservation(73,"map.size()");
    Observer.observeExpr(map.size());
    map.put("C","CC");
    sketch.instrumenter.Tracer.recordObservation(75,"map.size()");
    Observer.observeExpr(map.size());
    map.put("D","D");
    sketch.instrumenter.Tracer.recordObservation(77,"map.size()");
    Observer.observeExpr(map.size());
    sketch.instrumenter.Tracer.endMethod("testrewriteSize3");
  }
}
